package ahp.client.layouts;

import java.util.ArrayList;

import ahp.client.Kategoria;
import ahp.client.Osoba;
import ahp.client.slider.Slider;
import ahp.client.slider.SliderOption;

import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.json.client.JSONNumber;
import com.google.gwt.json.client.JSONObject;

public class PojedynczePorownanie extends Composite {

	public final FlowPanel porownanie = new FlowPanel();
	public final FlowPanel center=new FlowPanel();
	final ArrayList<Slider> all_slider=new ArrayList<Slider>();
	ArrayList<Kategoria> kategorie;
	
	PojedynczePorownanie(Osoba os1,Osoba os2,ArrayList<Kategoria> _kategorie){
		
		kategorie=_kategorie;
		
		initWidget(porownanie);
		final FlowPanel left = new FlowPanel();
		final FlowPanel right = new FlowPanel();
		left.addStyleName("left");
		right.addStyleName("right");
		porownanie.addStyleName("content-porownanie");
		Label l1=new Label(os1.imie);
		Label l2=new Label(os2.imie);	
		Image image1=new Image(os1.picture_url);;
		Image image2=new Image(os2.picture_url);;
		l1.addStyleName("imie");
		l2.addStyleName("imie");
		left.add(l1);
		left.add(image1);
		right.add(l2);
		right.add(image2);
		
		center.addStyleName("sliders");
		porownanie.add(left);
		porownanie.add(center);
		porownanie.add(right);
		
		for(int i=0;i<kategorie.size();i++){
			
			JSONObject options = Slider.getOptions(-4, 4, new int[]{0});
			options.put(SliderOption.STEP.toString(), new JSONNumber(1));
			Slider slider= new Slider(kategorie.get(i).nazwa,options);	
			slider.addStyleName("slider");
			
			final FlowPanel wrapper = new FlowPanel();
			wrapper.addStyleName("wrapper");
			Label l=new Label(kategorie.get(i).nazwa);
			l.addStyleName("nazwa");
			wrapper.add(l);
			wrapper.add(slider);
			
			center.add(wrapper);
			all_slider.add(slider);
			
		}
		
	}
	
	public void updateMacierz(int index1,int index2){
		
//		System.out.println("index1= "+index1 + " index2 = " +index2 + "value =" + all_slider.get(0).getValue());
		for(int i=0;i<kategorie.size();i++){
//			System.out.print(kategorie.get(i).nazwa);
//			System.out.println( "+ slider = " +all_slider.get(i).nazwa);
			int value=all_slider.get(i).getValue();
			double real_value=1;
			if(value==-4 || value==4){
				real_value=9;
			}
			else if(value==-3 || value==3){
				real_value=7;
			}
			else if (value==-2 || value==2) {
				real_value=5;
			}
			else if (value==-1 || value==1) {
				real_value=3;
			}
			else{
				real_value=1;
			}			
			
			if(value<0){
				kategorie.get(i).macierz[index1][index2]=real_value;
				kategorie.get(i).macierz[index2][index1]=1/real_value;				
			}
			else if(value>0){
				kategorie.get(i).macierz[index2][index1]=real_value;
				kategorie.get(i).macierz[index1][index2]=1/real_value;					
			}
			else{
				kategorie.get(i).macierz[index2][index1]=1;
				kategorie.get(i).macierz[index1][index2]=1;				
			}

			
		}
		
	}
	
	
}
